/**
 * 在cookie字符串中获取指定name的值
 * @param {String} key （name名）
 * @param {String} cookieStr （cookie字符串，格式类似 a=1;b=2）
 */
export function getCookieValue(key,cookieStr){
	let str = cookieStr;
	if(str === null || str === '' || str === undefined){
		str = '=';
	}
	var cookies=JSON.parse('{"'+str.replace(/=/g,'":"').replace(/;\s+/g,'","')+'"}');
	return cookies[key];
}
/**
 * 平滑移动到某个元素，如果是个class则为第一个元素。
 */
export function scroll(ele) {
	const scrollPart = document.querySelector(ele); // 目标节点的id或class
	const top = scrollPart.getBoundingClientRect().top;
	const pageY = window.pageYOffset;
	const endPosition = top + pageY;

	const startTime = +new Date();
	const duration = 500; //ms

	function run() {
		const time = +new Date() - startTime;

		window.scrollTo(0, pageY + top * (time / duration));
		run.timer = requestAnimationFrame(run);

		if (time >= duration) {
			window.scrollTo(0, endPosition);
			cancelAnimationFrame(run.timer);
		}
	}
	requestAnimationFrame(run);
}

//是否滚动到了浏览器底部
export function isBottom(callback) {
	//滚动条在Y轴上的滚动距离
	function getScrollTop() {　　
		var scrollTop = 0,
			bodyScrollTop = 0,
			documentScrollTop = 0;　　
		if(document.body) {　　　　
			bodyScrollTop = document.body.scrollTop;　　
		}　　
		if(document.documentElement) {　　　　
			documentScrollTop = document.documentElement.scrollTop;　　
		}　　
		scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;　　
		return scrollTop;
	}

	//文档的总高度

	function getScrollHeight() {　　
		var scrollHeight = 0,
			bodyScrollHeight = 0,
			documentScrollHeight = 0;　　
		if(document.body) {　　　　
			bodyScrollHeight = document.body.scrollHeight;　　
		}　　
		if(document.documentElement) {　　　　
			documentScrollHeight = document.documentElement.scrollHeight;　　
		}　　
		scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;　　
		return scrollHeight;
	}

	//浏览器视口的高度

	function getWindowHeight() {　　
		var windowHeight = 0;　　
		if(document.compatMode == "CSS1Compat") {　　　　
			windowHeight = document.documentElement.clientHeight;　　
		} else {　　　　
			windowHeight = document.body.clientHeight;　　
		}　　
		return windowHeight;
	}

	window.onscroll = function() {　　
		if(getScrollTop() + getWindowHeight() == getScrollHeight()) {　　　　
			//alert("已经到最底部了！");
			callback();　　
		}
	};
}